/*******************************************************************************
Copyright	(C) Junior All rights reserved 2010
FileName:	JuniorMultiply.h
System name	multiply
Purpose:	Multiply big number
Author:		nguyendatnq@gmail.com

Revision history
	ChangeKey	Date		Company		Revised by		Reasons
	000000		06/07/2010	Junior		Junior			Create New
*******************************************************************************/
#ifndef __JUNIORMULTIPLY_H__
#define __JUNIORMULTIPLY_H__

#include "stdio.h"
#include "conio.h"
#include "stdlib.h"
#include "string.h"
#include "malloc.h"


/**********************************DECLARE*************************************/
#define DEBUG								/* Enable Debug Mode			  */
#define TRUE                        (1)
#define FALSE                       (0)
#define LOG_LEVEL_FATAL             (1)
#define LOG_LEVEL_ERROR             (2)
#define LOG_LEVEL_INOUT             (3)
#define LOG_LEVEL_NORMAL            (4)
#define LOG_LEVEL_TRACE             (5)

#define DEFAULT_CONTENT_SIZE		(-1)	/* Negative value				  */
			
#define LOG_LEVEL                   (LOG_LEVEL_ERROR) /* LEVEL output log     */
#define LOG_OUTPUT(LEVEL,MSE)				/* Will be define soon			  */
#define JUNIOR_MAX(a,b)             (a>b?a:b)
#define JUNIOR_MIN(a,b)             (a>b?b:a)
#define JUNIOR_CHAR2NUMBER(a)       (a - '0')
#define JUNIOR_NUMBER2CHAR(a)       (a + '0')
#define JUNIOR_ISCHAR(a)            ((a>='0') && (a<='9'))
#define INPUT_FILE                  "NHAN.IN"
#define OUTPUT_FILE                 "NHAN.OUT"

extern char* s_revertString(    const char* const pFirst );
extern char* g_JuniorPlus(      const char* const pFirst, 
                                const char* const pSecond );
extern char* g_JuniorMultiply(  const char* const pFirst, 
                                const char* const pSecond );
extern char* g_JuniorMulOneNum( const char* const pFirst, 
                                const char  cNumber );

#endif